package day02;

/*
 * 一种汽车可以自行判断路口信号灯的颜色,决定继续行驶还是停车,其中每辆车都有自己的车灯编号和车灯
 * 定义一个类用来封装汽车的属性
 * 	TLight:共同的路口信号灯
 *  CarNum:汽车自己的编号
 *  CarLight:汽车自己的车灯
 */
public class Car {
	// 如果需要共享同一个成员变量,就需要设置成静态的.
	static String TLight;
	private String CarNum;
	private String CarLight;

	// 被static修饰的静态成员变量不属于某个具体的对象,无法初始化
	public Car(String carNum, String carLight) {
		CarNum = carNum;
		CarLight = carLight;

	}

	// 反应汽车驾驶状态的方法
	public void drive() {
		System.out.println(CarNum + "号车" + CarLight + "着灯" + (TLight == "红" ? "stop" : "run.."));
		// 如果信号灯是绿色,车辆全部走,如果信号灯是红色,车辆全部停
	}

	// 反应自己的车灯的方法
	public void turnLight() {
		CarLight = CarLight == "关" ? "开" : "关";
	}
}

class TestLight {
	public static void main(String[] args) {
		// 静态变量使用的时候不需要创建任何对象,只需要用类名调用
		Car.TLight = "绿";
		Car car1 = new Car("1", "关");
		car1.drive();
		
		System.out.println("-------");

		Car.TLight = "红";
		Car car2 = new Car("2", "开");
		car2.drive();
	}
}
